The present invention relates to a method and system for recovering useful information, in particular voice, image or data signals, from data streams having channels encoded by turbo codes and transmitted in digital form on terrestrial or satellite-based information paths with a predefined code rate.
Nothing in the following discussion of the state of the art is to be construed as an admission of prior art.
Turbo codes are parallel-concatenated hash codes that represent a particularly efficient method for channel-coding. Systems based on transmission via turbo codes to provide forward error correction (FEC) are increasingly used in modern communication systems and in many commonly used recommendations and standards, such as for example the fourth-generation mobile communication standard UMTS, or the transmission standard for extra-terrestrial communication CCSDS. Turbo codes significantly increase the efficiency of a communication system without requiring a dedicated return channel, if the FEC code is appropriately selected and parameterized.
One of the characteristic features of turbo codes is an error floor.
If the signal-to-noise ratio per bit (Eb/N0: energy contrast ratio per bit) is increased in a common block code or hash code, then the error rate decreases more or less rapidly. The situation is different with turbo codes: although the error rate decreases rapidly with increasing Eb/N0 (convergence range) at the beginning, it becomes flat thereafter (error floor); the further curve shape is determined asymptotically by the so-called free distance. The aforementioned error floor is a characteristic feature of the turbo code and can be relatively large in variations with a low computing complexity, so that they may be useless for practical applications.
One way to lower the error floor is to increase the memory size in the encoder components which, however, exponentially increases the complexity of the decoder and is therefore impractical. Alternatively, the block length could be increased, which however has limitations in many cases.
It would therefore be desirable to provide a method and a device for lowering the error floor without increasing the computing complexity.